package com.hskn.hss.module.cases.mapper;

import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.hskn.hss.core.domain.BaseEntity;
import com.hskn.hss.module.cases.entity.Cases;
import com.hskn.hss.module.cases.entity.CasesCharts;
import com.hskn.hss.module.cases.entity.CasesCharts2;
import com.hskn.hss.module.cases.entity.CasesTable;
import com.hskn.hss.module.cases.vo.CasesListzrjgcljsfxRes;
import com.hskn.hss.module.cases.vo.CasesListzrjgclqkRes;
import com.hskn.hss.module.cases.vo.CasesListzrjgsjfbRes;
import com.hskn.hss.utils.BTable;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * Mapper 接口
 * </p>
 *
 * @author hskn
 * @since 2021-05-18
 */
public interface CasesMapper extends BaseMapper<Cases> {

    List<CasesListzrjgsjfbRes> getZrjgtjSjfbSjly(JSONObject params);

    Page<CasesListzrjgsjfbRes> getZrjgtjSjfbSjly(Page<CasesListzrjgsjfbRes> page, Map map);

    List<CasesListzrjgsjfbRes> getZrjgtjSjfbWtlx(JSONObject params);

    Page<CasesListzrjgsjfbRes> getZrjgtjSjfbWtlx(Page<CasesListzrjgsjfbRes> page, Map map);

    List<CasesListzrjgsjfbRes> getZrjgtjSjfbSjzsChart(JSONObject params);

    List<CasesListzrjgclqkRes> getZrjgtjClqk(JSONObject params);

    Page<CasesListzrjgclqkRes> getZrjgtjClqk(Page<CasesListzrjgclqkRes> page, Map map);

    List<CasesListzrjgcljsfxRes> getZrjgtjCljsfx(JSONObject params);

    Page<CasesListzrjgcljsfxRes> getZrjgtjCljsfx(Page<CasesListzrjgcljsfxRes> page, Map map);

    List<JSONObject> amount(BaseEntity entity);
    List<BTable> selectCaseForLineChartBTable(Cases cases);
    List<CasesTable> selectCaseForDepartCount(Cases cases);
    List<CasesTable> selectCaseForcaseIssueCount(Cases cases);
    List<CasesTable> selectCaseForOverCount(Cases cases);
    List<CasesTable> selectCaseForTimelyAnalyse(Cases cases);
    List<BTable> selectCaseForOverBTable(Cases cases);


    List<Cases> selectCaseForBTableByPersonId(Cases cases);
    List<BTable> selectCaseForLineChartBTableByPersonId(Cases cases);
    List<CasesTable> eventPersonByCreater(Cases cases);
    List<CasesTable> eventPersonByProblem(Cases cases);
    List<CasesTable> eventPersonTreatmentTable(Cases cases);
    List<CasesTable> eventPersonAnalysisTable(Cases cases);
    List<CasesCharts2> eventPersonTreatment(Cases cases);
    List<BTable> selectCaseForOverBTableByPersonId(Cases cases);
}
